#ifndef GUI_TEXT_BUTTON_H
#define GUI_TEXT_BUTTON_H

#include "GUIElement.h"
#include "../UniversalIncludes.h"
#include "../DrawHelper.h"

class GUITextButton : public GUIElement
{
    // Fields
    public:
    private:
        Texture2D* font;
        GLuint textDispList[3];
        std::vector<Callback*> callbacks;
    // Methods
    public:
        GUITextButton();
        virtual ~GUITextButton(){};
        void draw();
        void setText(std::string newText);
        void addCallback(Callback* cb);
    protected:
        void onReleased(Uint8 mouseState);              // Released (mouse) overload
        void onReleased();                              // Released overloaded
};

#endif
